package com.zy.explore.generator.infrastructure.core.brick.child;

import com.zy.explore.generator.infrastructure.core.assembler.BrickInfoAssembler;
import com.zy.explore.generator.infrastructure.core.base.BaseModule;
import com.zy.explore.generator.infrastructure.core.frm.BrickInfoFrm;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

import java.io.File;

/**
 * description 生成Mybatis表实体类
 *
 * @author 🇨🇳中国印🇨🇳
 * @date 2021年05月11日 21:53
 **/
@Slf4j
@Service
public class GenerationTkMybatisEntity extends BaseModule {

    public void doGeneration(BrickInfoFrm frm) throws Exception {
        frm.setFileName((frm.getTrimPrefix() ? "" : "Tk") + frm.getTableClassNamePrefix() + ".java");

        // 要生成的文件对象(文件绝对位置 + 文件名称)
        File file = new File(frm.getProviderCodeRoot(), BrickInfoAssembler.getLastFilePath(frm));

        // 获取模板文件的位置
        String templatePath = BrickInfoAssembler.getBrickTemplatePath(frm) + "/tkmybatis";

        // 写入文件
        writeFile(file, "TkEntity.ftl", templatePath, frm);

        log.info("创建TkMybatisEntity类文件 {}TkMybatis.java {}", frm.getTableClassNamePrefix(), file.getPath());
    }

}
